package com.gdut.huayan.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gdut.huayan.entity.dto.PageQuery;
import com.gdut.huayan.entity.po.Order;
import com.gdut.huayan.entity.po.OrderDetail;
import com.gdut.huayan.entity.po.Tablet;
import com.gdut.huayan.entity.vo.OrderCreateVo;
import com.gdut.huayan.entity.vo.OrderDetailVo;
import com.gdut.huayan.entity.vo.OrderListVo;
import com.gdut.huayan.entity.vo.TabletIdListVo;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface OrderService extends IService<Order> {

    Map<String, Object> addStockOrder(OrderCreateVo orderCreateVo);

    String continuePay(Long orderId);

    void cancelOrder(Long orderId);

    void callback(HttpServletRequest request);

    OrderListVo listOrder(PageQuery pageQuery, Integer status, Integer isStatistics, LocalDateTime startTime,LocalDateTime endTime,Integer isSuiXi);

    List<OrderDetailVo> getOrderDetail(Long orderId);

    List<OrderDetail> getOrderDetail(Long orderId, Integer refundStatus);

    PageInfo<Order> getUserOrder(PageQuery pageQuery, Integer status);

    Map<String,Object> getFrequentlyUsedTable();

    void changeTabletIsSave(Long tabletId, Integer isSave);

    void updateTablet(Tablet tablet);

    void setPrintStatus(TabletIdListVo tabletIdListVo,Integer status);
}
